package server;

public abstract class Dinosauro{

	/**
	 * @uml.property  name="giocatore"
	 * @uml.associationEnd  multiplicity="(1 1)" inverse="dinosauro:server.Giocatore"
	 */
	private Giocatore giocatore;

	/**
	 * Getter of the property <tt>giocatore</tt>
	 * @return  Returns the giocatore.
	 * @uml.property  name="giocatore"
	 */
	public Giocatore getGiocatore() {
		return giocatore;
	}

	/**
	 * Setter of the property <tt>giocatore</tt>
	 * @param giocatore  The giocatore to set.
	 * @uml.property  name="giocatore"
	 */
	public void setGiocatore(Giocatore giocatore) {
		this.giocatore = giocatore;
	}

	/**
	 * @uml.property  name="vistaLocale"
	 * @uml.associationEnd  multiplicity="(1 1)" inverse="dinosauro:server.VistaLocale"
	 */
	private VistaLocale vistaLocale = new server.VistaLocale();

	/**
	 * Getter of the property <tt>vistaLocale</tt>
	 * @return  Returns the vistaLocale.
	 * @uml.property  name="vistaLocale"
	 */
	public VistaLocale getVistaLocale() {
		return vistaLocale;
	}

	/**
	 * Setter of the property <tt>vistaLocale</tt>
	 * @param vistaLocale  The vistaLocale to set.
	 * @uml.property  name="vistaLocale"
	 */
	public void setVistaLocale(VistaLocale vistaLocale) {
		this.vistaLocale = vistaLocale;
	}

	/**
	 * @uml.property  name="posizione"
	 * @uml.associationEnd  multiplicity="(1 1)" inverse="dinosauro:server.Posizione"
	 */
	private Posizione posizione = new server.Posizione();

	/**
	 * Getter of the property <tt>posizione</tt>
	 * @return  Returns the posizione.
	 * @uml.property  name="posizione"
	 */
	public Posizione getPosizione() {
		return posizione;
	}

	/**
	 * Setter of the property <tt>posizione</tt>
	 * @param posizione  The posizione to set.
	 * @uml.property  name="posizione"
	 */
	public void setPosizione(Posizione posizione) {
		this.posizione = posizione;
	}

	private String idDino;
	private char tipo;
	private int D;
	private static final int Dmax =5;
	private int E;
	private int Emax;
	private int eta;
	private int vita;
	private int distanzaMassima;
	private int turniVissuti;
	private boolean staDeponendo= false;
	private boolean staCrescendo= false;
	private boolean staMuovendo= false;
	public static int ultimoIdUsato =0;

	public String getIdDino() {
		return idDino;
	}

	public void setIdDino(String idDino) {
		this.idDino = idDino;
	}

	public char getTipo() {
		return tipo;
	}

	public void setTipo(char tipo) {
		this.tipo = tipo;
	}

	public int getD() {
		return D;
	}

	public void setD(int d) {
		D = d;
	}

	public int getE() {
		return E;
	}

	public void setE(int e) {
		E = e;
	}

	public int getEmax() {
		return Emax;
	}

	public void setEmax(int emax) {
		Emax = emax;
	}

	public int getEta() {
		return eta;
	}

	public void setEta(int eta) {
		this.eta = eta;
	}

	public int getVita() {
		return vita;
	}

	public void setVita(int vita) {
		this.vita = vita;
	}

	public int getDistanzaMassima() {
		return distanzaMassima;
	}

	public void setDistanzaMassima(int distanzaMassima) {
		this.distanzaMassima = distanzaMassima;
	}

	public int getTurniVissuti() {
		return turniVissuti;
	}

	public void setTurniVissuti(int turniVissuti) {
		this.turniVissuti = turniVissuti;
	}

	public boolean isStaDeponendo() {
		return staDeponendo;
	}

	public void setStaDeponendo(boolean staDeponendo) {
		this.staDeponendo = staDeponendo;
	}

	public boolean isStaCrescendo() {
		return staCrescendo;
	}

	public void setStaCrescendo(boolean staCrescendo) {
		this.staCrescendo = staCrescendo;
	}

	public boolean isStaMuovendo() {
		return staMuovendo;
	}

	public void setStaMuovendo(boolean staMuovendo) {
		this.staMuovendo = staMuovendo;
	}

	public static int getUltimoIdUsato() {
		return ultimoIdUsato;
	}

	public static void setUltimoIdUsato(int ultimoIdUsato) {
		Dinosauro.ultimoIdUsato = ultimoIdUsato;
	}

	public static int getDmax() {
		return Dmax;
	}

		
			
			
			public int crescita(){
				return 0;
			}

			
				
				
				public int deposizioneUovo(){
					return 0;
				}

				
					
					
						
						/**
						 */
						public boolean combattimento(Dinosauro dinoA, Dinosauro dinoB){
						
												return false;	
											 }

					
						
						
						public abstract String movimento();
						
					
	
	
}
